<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MTB CAT1 Peripheral driver library: eFuse        (Electronic Fuses)</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MTB CAT1 Peripheral driver library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__group__efuse.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#groups">API Reference</a>  </div>
  <div class="headertitle">
<div class="title">eFuse (Electronic Fuses)</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<p>Electronic Fuses (eFuses) are non-volatile memory where each bit is one-time programmable (OTP). </p>
<p>The functions and other declarations used in this driver are in cy_efuse.h. You can include cy_pdl.h to get access to all functions and declarations in the PDL.</p>
<p>The eFuse driver enables reading the state of any bit.</p><ul>
<li>CAT1A devices does not support writing to eFuse memory. Writing an eFuse bit is typically done by a production programmer. Fuses are programmed via the PSoC Programmer tool that parses the hex file and extracts the necessary information; the fuse data must be located at the dedicated section in the hex file. For more details see <a href="http://www.cypress.com/documentation/programming-specifications/psoc-6-programming-specifications">PSoC 6 Programming Specifications</a></li>
<li>CAT1B devices support writing to eFuse memory. <dl class="section note"><dt>Note</dt><dd>Blowing eFuses is normally performed during device provisioning; eFuses are not intended to be programmed by the customer. Read and write of eFuse data is generally restricted to Boot FW code and will not be accessible to customer application.</dd></dl>
</li>
<li>CAT1C devices does not support writing to eFuse memory.</li>
</ul>
<p>One eFuse macro consists of 256 bits (32 * 8). Consult the device-specific datasheet to determine how many macros a device has. These are implemented as a regular Advanced High-performance Bus (AHB) peripheral with the following characteristics:</p><ul>
<li>eFuses are used to control the device life-cycle stage (NORMAL, SECURE, and SECURE_WITH_DEBUG) and the protection settings;</li>
<li>eFuse memory can be programmed (eFuse bit value changed from '0' to '1') only once; if an eFuse bit is blown, it cannot be cleared again;</li>
</ul>
<h1><a class="anchor" id="group_efuse_configuration"></a>
Configuration Considerations</h1>
<p>The eFuse driver provides the simplest way to read and write eFuse memory. No configuration is needed.</p>
<h1><a class="anchor" id="group_efuse_more_information"></a>
More Information</h1>
<p>Refer to the technical reference manual (TRM) and the device datasheet.</p>
<h1><a class="anchor" id="group_efuse_changelog"></a>
Changelog</h1>
<table class="doxtable">
<tr>
<th>Version</th><th>Changes</th><th>Reason for Change </th></tr>
<tr>
<td>2.40 </td><td>Updated API <a class="el" href="group__group__efuse__functions.html#ga15f9240bfa808040e6104c864c57e2c7">Cy_EFUSE_WriteWord</a> and <a class="el" href="group__group__efuse__functions.html#gaebe9c2648cd8b31bdb5721c802b4b4b3">Cy_EFUSE_ReadWord</a>. </td><td>Bug fixes.  </td></tr>
<tr>
<td>2.30.1 </td><td>Minor documentation updates. </td><td>Added a note for CAT1B family of devices.  </td></tr>
<tr>
<td>2.30 </td><td>Updated Cy_EFUSE_WriteBit API. </td><td>Fix minor compilation warning.  </td></tr>
<tr>
<td>2.20 </td><td>Updated driver to support the CAT1C family of devices. </td><td>Added new family of devices.  </td></tr>
<tr>
<td>2.10 </td><td>Implementation for newly introduced APIs for CAT1B devices has been updated. </td><td>Updated driver APIs support for CAT1B devices.  </td></tr>
<tr>
<td>2.0 </td><td>Added the following functions: <a class="el" href="group__group__efuse__functions.html#ga06a4ae2e9113c195ff77f1dc820b25e7">Cy_EFUSE_Init</a>,<br />
 <a class="el" href="group__group__efuse__functions.html#ga28ecc1dcdb968e053a958cca635e9461">Cy_EFUSE_DeInit</a>,<br />
 <a class="el" href="group__group__efuse__functions.html#ga4c007af8fdfc8f7179abad616e88cae2">Cy_EFUSE_Enable</a>,<br />
 <a class="el" href="group__group__efuse__functions.html#ga0aa04dbc5db609a8cc641c45c3cd79e7">Cy_EFUSE_Disable</a>,<br />
 <a class="el" href="group__group__efuse__functions.html#ga0dd2f9a26afa1c75420318c09a7f53fb">Cy_EFUSE_WriteBit</a>,<br />
 <a class="el" href="group__group__efuse__functions.html#ga52ffd7cf26fba5e7786187b8627665b9">Cy_EFUSE_WriteByte</a>,<br />
 <a class="el" href="group__group__efuse__functions.html#ga15f9240bfa808040e6104c864c57e2c7">Cy_EFUSE_WriteWord</a>,<br />
 <a class="el" href="group__group__efuse__functions.html#ga8d99433f456f0504334af8ab56e3cc91">Cy_EFUSE_WriteWordArray</a>,<br />
 <a class="el" href="group__group__efuse__functions.html#ga4574fafa0f4533914834b12546575690">Cy_EFUSE_ReadBit</a>,<br />
 <a class="el" href="group__group__efuse__functions.html#ga6484736ef7054535e2b22dab58a9d704">Cy_EFUSE_ReadByte</a>,<br />
 <a class="el" href="group__group__efuse__functions.html#gaebe9c2648cd8b31bdb5721c802b4b4b3">Cy_EFUSE_ReadWord</a>,<br />
 <a class="el" href="group__group__efuse__functions.html#gac5f241d89e5dd02359c5e1f5718b8c96">Cy_EFUSE_ReadWordArray</a>,<br />
 <a class="el" href="group__group__efuse__functions.html#gac5cbe37853fb807ac5d273e6c64c245a">Cy_EFUSE_WriteBootRow</a>,<br />
 <a class="el" href="group__group__efuse__functions.html#ga02f92f6205a852095d903d1d66e54a23">Cy_EFUSE_ReadBootRow</a>. </td><td>New driver APIs support for CAT1B devices.  </td></tr>
<tr>
<td>1.10.4 </td><td>Minor documentation updates. </td><td>Removed MISRA 2004 compliance details and verified MISRA 2012 compliance.  </td></tr>
<tr>
<td>1.10.3 </td><td>Minor documentation updates. </td><td>Documentation enhancement.  </td></tr>
<tr>
<td>1.10.2 </td><td>Fix driver header path. </td><td>Folder structure changed.  </td></tr>
<tr>
<td>1.10.1 </td><td>Added header guard CY_IP_MXEFUSE. </td><td>To enable the PDL compilation with wounded out IP blocks.  </td></tr>
<tr>
<td>1.10 </td><td>Flattened the organization of the driver source code into the single source directory and the single include directory.  </td><td>Driver library directory-structure simplification.  </td></tr>
<tr>
<td>1.0 </td><td>Initial version </td><td></td></tr>
</table>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
API Reference</h2></td></tr>
<tr class="memitem:group__group__efuse__macros"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__macros.html">Macros</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__group__efuse__functions"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__functions.html">Functions</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__group__efuse__data__structures"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__data__structures.html">Data Structures</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__group__efuse__enumerated__types"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__efuse__enumerated__types.html">Enumerated Types</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>MTB CAT1 Peripheral driver library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
-->
</body>
</html>
